async function async1() {
  console.log('async1 start');//2
  await async2();
  console.log('async1 end');//6
}
async function async2() {
  console.log('async2');//3
}
console.log('script start');//1
setTimeout(function () {
  console.log('setTimeout');//8
}, 0);
async1();
new Promise(function (resolve) {
  console.log('promise1');//4
  resolve();
}).then(function () {
  console.log('promise2');//7
});
console.log('script end');//5
